package com.telchina.workorder.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.telchina.workorder.domain.WoWorkOrder;
import com.telchina.workorder.domain.vo.WoWorkOrderReqVO;
import com.telchina.workorder.domain.vo.WoWorkOrderVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 工单信息（受理单）Mapper接口
 *
 * @author konghao
 * @date 2023-02-21
 */
public interface WoWorkOrderMapper extends BaseMapper<WoWorkOrder> {
    /**
     * 分页查询工单信息（受理单）列表
     * <p>
     * param page             分页信息
     *
     * @param woWorkOrder 工单信息（受理单）信息
     * @return 工单信息（受理单）集合
     */
    public IPage<WoWorkOrder> selectWoWorkOrderPage(IPage<WoWorkOrder> page, WoWorkOrder woWorkOrder);

    /**
     * 查询所有工单信息（受理单）列表
     *
     * @param woWorkOrder 工单信息（受理单）信息
     * @return 工单信息（受理单）集合
     */
    public List<WoWorkOrderVO> selectWoWorkOrderList(@Param("woWorkOrder") WoWorkOrderReqVO woWorkOrder, @Param("instanceIds") List<String> instanceIds,
                                                   @Param("workOrderStatus") String workOrderStatus, @Param("deptId") String deptId);

    /**
     * @param woWorkOrder
     * @param instanceIds
     * @return
     */
    List<WoWorkOrder> selectWoWorkOrderNoEnd(@Param("woWorkOrder") WoWorkOrderReqVO woWorkOrder, @Param("instanceIds") List<String> instanceIds);

    /**
     *
     * @param woWorkOrder
     * @return
     */
    List<WoWorkOrder> selectListMerge(@Param("woWorkOrder") WoWorkOrderReqVO woWorkOrder);
}
